package cn.zhukelili.expand;

/**
 * @description: 臣子参拜皇帝的过程
 * @author: hhbeast
 * @since: 2018/7/29 11:29
 */
public class Minister {
    public static void main(String[] args) {
        //定义5个大臣
        int ministerNum = 5;
        for (int i = 0; i < ministerNum; i++) {
            Emperor emperor = Emperor.getInstance();
            System.out.print("第" + (i + 1) + "个大臣参拜的是：");
            emperor.say();
        }
    }
}


/*
看，果然每个大臣参拜的皇帝都可能不一样，大臣们就开始糊涂了，A大臣给皇1帝汇
报了一件事情，皇2帝不知道，然后就开始怀疑大臣A是皇1帝的亲信，然后就想办法开始
整……
这种需要产生固定数量对象的模式就叫做**有上限的多例模式**，它是单例模式的一种扩
展，采用有上限的多例模式，我们可以在设计时决定在内存中有多少个实例，方便系统进行
扩展，修正单例可能存在的性能问题，提供系统的响应速度。例如读取文件，我们可以在系
统启动时完成初始化工作，在内存中启动固定数量的reader实例，然后在需要读取文件时就
可以快速响应。
 */